package com.tiancheng.trade.order.bo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class CreditOrderOperationInfoBo {
	
	/**
	 * credit交易流水号
	 */
	private String requestNo;

	/**
	 * 支付宝授权订单id
	 */
	private String alipayAuthNo;

	/**
	 * 支付宝资金操作流水号
	 */
	private String alipayOperationId;

	/**
	 * 订单中心订单id
	 */
	private String gwOrderId;

	/**
	 * 资金操作类型，支持FREEZE，UNFREEZE，PAY
	 */
	private String operationType;

	/**
	 * 操作金额
	 */
	private Long amount;
	
	/**
	 * 商家实收金额（支付时出现）
	 */
	private Long receiptAmount;
	
	/**
	 * 资金预授权明细的状态，支持INIT，SUCCESS，CLOSED
	 */
	private String detailStatus;

	/**
	 * 收款方支付宝账号
	 */
	private String alipayPayeeLogonId;

	/**
	 * 收款方的支付宝唯一用户号
	 */
	private String alipayPayeeUserId;

	/**
	 * 付款方支付宝账号
	 */
	private String alipayPayerLogonId;
	
	/**
	 * 付款方的支付宝唯一用户号
	 */
	private String alipayPayerUserId;
	
	/**
	 * 累计冻结金额
	 */
	private Long totalFreezeAmount;

	/**
	 * 累计解冻金额
	 */
	private Long totalUnfreezeAmount;

	/**
	 * 累计支付金额
	 */
	private Long totalPayAmount;

	/**
	 * 剩余冻结金额
	 */
	private Long restAmount;
	
	/**
	 * 预授权类型，目前支持 CREDIT_AUTH(信用预授权);
	 * 商户可根据该标识来判断该笔预授权的类型，当返回值为"CREDIT_AUTH"表明该笔预授权为信用预授权，没有真实冻结资金；
	 * 如果未返回，则表示普通资金预授权，会冻结用户资金。
	 */
	private String preAuthType;

	/**
	 * 撤销操作触发的资金动作：close-关闭冻结明细，无资金解冻；unfreeze-产生了资金解冻
	 */
	private String action;

	/**
	 * 数据状态（0-无效，1-有效）
	 */
	private int state;

	/**
	 * 支付宝操作创建时间
	 */
	private Date gmtCreate;

	/**
	 * 支付宝操作处理完成时间
	 */
	private Date gmtTrans;

	/**
	 * 创建时间
	 */
	private Date cTime;

	/**
	 * 修改时间',
	 */
	private Date uTime;
}
